package com.example.mall_system.service;

import com.example.mall_system.common.Result;
import java.util.List;
import java.util.Map;

public interface OrdersService {
    Result<?> createOrder(Long userId, Long addressId, List<Long> cartItemIds);
    Result<?> payOrder(Long orderId, Integer paymentMethod);
    Result<?> cancelOrder(Long orderId, Long userId, Integer role, String cancelReason);
    Result<?> shipOrder(Long orderId);
    Result<?> completeOrder(Long orderId, Long userId, Integer role);
    Result<?> getOrderById(Long id, Long userId, Integer role);
    Result<List<Map<String, Object>>> getUserOrders(Long userId);
    Result<?> getOrdersByStatus(Long userId, Integer status);
    Result<?> updateOrderAddress(Long orderId, Long addressId, Long userId, Integer role);
}